<template>
<div>
  <h1>写函数判断变量的数据类型</h1>
  <details>该方法首先使用 typeof 来判断基本数据类型（如数字、字符串、布尔值等），如果不是对象类型，直接返回结果。对于对象类型，它进一步使用 instanceof 来检查特殊的对象类型，如数组和日期对象。如果是数组，则返回 "array"；如果是日期对象，则返回 "date"；否则，返回 "object"。对于 null，它会特殊处理并返回 "null"。
  请注意，尽管使用了 typeof 和 instanceof，但这种方法仍然有一些局限性，并不能完全涵盖所有可能的数据类型判断。在某些情况下，可能需要更复杂的判断逻辑或使用其他方法来处理特定的数据类型判断。</details>
  <button @click="getType(arr)">判断数组</button>
  <br>
  <button @click="getType(num)">判断数字</button>
  <br>
  <button @click="getType(obj)">判断对象</button>
  <br>
  <button @click="getType(today)">判断日期</button>
  <br>
  <button @click="getType(test)">判断函数</button>
  <br>
  <button @click="getType(empty)">判断null</button>
  <br>
  <button @click="getType(giao)">判断undefined</button>

</div>
</template>

<script>
export default {
  // name: '',
  components: {},
  data () {
    return {
      arr:[1,2],
      num:1,
      flag:false,
      obj:{
        name:'giao',
        age:5
      },
      today:new Date(),
      empty:""
    }
  },
  created () { },
  mounted () { },
  methods: { 
  getType(value){
    if(typeof value!=='object'){
      return console.log(typeof value);
    }else{
      if(value===null){
        console.log('null');
      }else if (Array.isArray(value)){
        console.log('array');
      }else {
        return value instanceof Array ? "array" : "object";
      }
    }
  // if (typeof value !== "object") {
  //   return console.log(typeof value) ;
  // } else {
  //   if (value === null) {
  //     return console.log("null");
  //   } else if (Array.isArray(value)) {
  //     return console.log("array");
  //   } else {
  //     return console.log(value instanceof Date ? "date" : "object")
  //   }
  // }
},
test(){
  console.log(11);
}
  },
  computed: {}
}



</script>
<style scoped lang='scss'>

</style>
